% Ordem das imagens
% -----------------
% registro1, registro1pin, registro2, registro3
% inicio, inicio_menu_signer
% sign_pin, sign_comment, sign_ok
% inicio_sign
% view_file, view_sign_info, view_cert
% sign_pin, sign_clock_comment, sign_clock_serv, sign_ok
% view_sign_clock, verify_sign_clock

\documentclass[10pt,a4paper]{article}
 
\usepackage[brazil]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
     
\usepackage{fancyvrb}
\usepackage{fullpage}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{float}
\usepackage{booktabs}
\usepackage{enumerate}
\usepackage{hyperref}
\usepackage{subfig}
 
\newcommand{\estrang}[1]{\emph{#1}}
\newcommand{\reserv}[1]{\texttt{#1}}

\title{Testes efetuados com o BrySigner no Sistema Operacional Microsoft Windows}
\author{Mauro Tardivo Filho}
\date{}

\begin{document}

\maketitle

\section{Introdução}

Este relatório mostrará a integração de cartões inteligentes com o BrySigner \cite{bryinstalador}, sendo usado o software da Gemalto (\textit{Gemsafe Toolbox} ou \textit{Classic Client}) para comunicação com o cartão.

\section{Procedimentos}

\subsection{Registro de Certificado}

Caso seja a primeira vez executando o programa, ou ainda não tenha sido registrado seu certificado, o programa exibirá a mensagem como pode ser vista na Figura \ref{fig:registro1}.
Estando com o cartão inteligente inserido na leitora, o software que se comunica com o cartão solicita o PIN (Figura \ref{fig:registropin}). Após ser digitado corretamente, deve-se selecionar a opção \emph{OK}. Aparecerá os certificados que estão contidos no cartão, assim como os demais certificados instalados no sistema operacional. Foi selecionado o certificado que está presente no cartão e escolhida a opção \emph{Enviar}, como pode ser visto na Figura \ref{fig:registro2}. Por fim, com o registro concluído, aparece a mensagem da Figura \ref{fig:registro3} e deve ser selecionado \emph{Concluir}, para poder dar início aos testes.

\begin{figure}[H]
\centering
\subfloat[Tela de abertura do BrySigner]{\label{fig:registro1} \includegraphics[width=0.4\textwidth]{../registro1.PNG} }
\quad
\subfloat[Tela para inserção do PIN]{\label{fig:registropin} \includegraphics[width=0.4\textwidth]{../registro1pin.PNG} } 
\\
\subfloat[Escolha do certificado para ser registrado]{\label{fig:registro2} \includegraphics[width=0.4\textwidth]{../registro2.PNG} }
\quad
\subfloat[Registro concluído]{\label{fig:registro3} \includegraphics[width=0.4\textwidth]{../registro3.PNG} }	
\caption{Registro}
\label{fig:registro}
\end{figure}

\subsection{Assinar Documento}

Tendo certificado já registrado, ao executar o BrySigner novamente, caso algum certificado que for detectado e esteja registrado, o programa mostrará a tela inicial diretamente. Pode-se notar (Figura \ref{fig:inicio}) que o BrySigner possui as seguintes opções:

\begin{itemize}
\item \emph{Assinar} : Assina o arquivo selecionado
\item \emph{Carimbar} : Coloca um carimbo de tempo (\textit{timestamp}) no arquivo selecionado
\item \emph{Assinar e Carimbar} : Assina e coloca um carimbo de tempo no arquivo selecionado
\item \emph{Abrir} : Abre o arquivo selecionado (extensão \emph{.p7s}). Se for um documento, o BrySigner possui uma interface para visualizar documentos em seu próprio programa.
\item \emph{Verificar} : Verifica a assinatura do arquivo selecionado
\end{itemize}

\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{../inicio.PNG} 
\label{fig:inicio} 
\caption{Tela inicial}
\end{figure}

%\begin{figure}[H]
%\centering
%\label{fig:iniciomenu} \includegraphics[width=0.8\textwidth]{../inicio_menu_signer.PNG} 
%\end{figure}

O arquivo utilizado para testes será o \reserv{projeto\_icp\_cartao.pdf}. Selecionando o arquivo e em seguida a opção \emph{Assinar} aparece uma mensagem caso deseja-se adicionar um comentário a assinatura ou não (Figura \ref{fig:signcomment}). Em seguida aparecerá uma confirmação (\ref{fig:signok}) de que o arquivo selecionado foi assinado com sucesso. 


\begin{figure}[H]
\centering
\subfloat[Inserção de comentário na assinatura]{\label{fig:signcomment} \includegraphics[width=0.4\textwidth]{../sign_comment.PNG}}
\quad
\subfloat[Confirmação que a assinatura foi realizada com sucesso]{\label{fig:signok} \includegraphics[width=0.4\textwidth]{../sign_ok.PNG}}
\caption{Assinatura}
\label{fig:sign1}
\end{figure}


Pode-se ver que ao assinar um arquivo, gera-se um arquivo de extensão \reserv{.p7s} (Figura \ref{fig:viewfile}) que contém a informação da assinatura (Figura \ref{fig:viewsign}).

\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{../view_file.PNG} 
\caption{Documento assinado}
\label{fig:viewfile} 
\end{figure}

\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{../view_sign_info.PNG} 
\caption{Detalhes da assinatura do documento}
\label{fig:viewsign} 
\end{figure}

Foi realizado o mesmo procedimento utilizando para assinar um arquivo executável (Figura \ref{fig:viewexefile}), cuja extensão \reserv{.exe}, e a assinatura foi realizada com sucesso (Figura \ref{fig:signexeok}).

\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth, keepaspectratio]{../view_exe_file.PNG} 
\caption{Arquivo executável}
\label{fig:viewexefile} 
\end{figure}

\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth, keepaspectratio]{../sign_exe_ok.PNG} 
\caption{Confirmação que a assinatura realizada com sucesso}
\label{fig:signexeok} 
\end{figure}

Pode-se verificar a assinatura deste arquivo executável através da Figura \ref{fig:viewsignexeinfo}.

\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth, keepaspectratio]{../view_sign_exe_info.PNG} 
\caption{Detalhes da assinatura do arquivo executável}
\label{fig:viewsignexeinfo} 
\end{figure}

Foi possível então verificar a assinatura comum de arquivos tanto documentos quanto arquivos executáveis.

Obs: Não houve um caso em que um arquivo não fosse assinado corretamente de método não-forçado.
Para que uma mensagem de erro aparecesse, foi retirado o cartão da leitora mas mesmo assim selecionado o certificado do cartão registrado no BrySigner, gerando a mensagem de erro da Figura \ref{fig:signerror}

\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth, keepaspectratio]{../sign_error.PNG} 
\caption{Mensagem de erro}
\label{fig:signerror} 
\end{figure}

\section{Assinatura com Carimbo de Tempo}


Ao tentar colocar um carimbo de tempo em um arquivo assinado, ou tentar assinar colocando um carimbo de tempo, será necessário a escolha de um servidor de carimbo de tempo, como pode ser visto na Figura \ref{fig:signclockserv}. 

Pode-se adicionar um servidor através do botão \emph{Adicionar novo servidor a lista}, preenchendo os dados na tela da Figura \ref{fig:addclockserv} e pressionando \emph{Ok} para confirmar o novo servidor de carimbo de tempo.

Após escolher um servidor da Figura \ref{fig:signclockserv} deve-se pressionar \emph{Ok} para continuar. Caso seja para assinar também, antes da escolha do servidor, aparecerá a mensagem para caso deseja-se adicionar um comentário na informação da assinatura, como pode ser visto na Figura \ref{fig:signclockcomment}.

\begin{figure}[H]
\centering
\subfloat[Escolha de servidor de carimbo de tempo]{\label{fig:signclockserv} \includegraphics[width=0.45\textwidth, keepaspectratio]{../sign_clock_serv.PNG}}
\quad
\subfloat[Adição de servidor de carimbo de tempo]{\label{fig:addclockserv} \includegraphics[width=0.45\textwidth, keepaspectratio]{../add_clock_serv.PNG}}
\\
\subfloat[Comentário na assinatura com carimbo de tempo]{\label{fig:signclockcomment} \includegraphics[width=0.45\textwidth, keepaspectratio]{../sign_clock_comment.PNG}}
\caption{Carimbo de tempo}
\label{fig:clock}
\end{figure}

Confirmando-se que a assinatura foi bem sucedida (Figura \ref{fig:signok}), pode-se verificar tanto a assinatura (Figura \ref{fig:viewsignclock}) quanto o carimbo de tempo (Figura \ref{fig:verifysignclock}).

\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth, keepaspectratio]{../view_sign_clock.PNG} 
\caption{Detalhes do arquivo assinado e com carimbo de tempo}
\label{fig:viewsignclock} 
\end{figure}

\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth, keepaspectratio]{../verify_sign_clock.PNG} 
\caption{Verificação do carimbo de tempo do arquivo}
\label{fig:verifysignclock} 
\end{figure}

Desta forma, foi possível mostrar o carimbo de tempo individualmente em um arquivo já assinado e em conjunto com a assinatura de um arquivo.

\section{Conclusões}

Com estes testes foi possível verificar a utilidade e eficácia do BrySigner como assinador de documentos e arquivos em geral. Ele possui uma interface simples, é um programa leve e segue os padrões da ICP-Brasil. Em contrapartida, poderia haver uma melhor integração com cartões inteligentes, por exemplo verificar se o mesmo está inserido ao mostrar todos os certificados previamente registrados.

\renewcommand{\refname}{\section{Referências}}
%% Bibliografia
\footnotesize
\bibliographystyle{alpha}
%\bibliographystyle{plain}
%\bibliographystyle{abbrv}
%\bibliographystyle{ieeetr}
\bibliography{relat-bry}



\end{document}
